python二维列表转置
有时候一些空间点数据,我会采用python做可视化
但是一般保存到txt后都是一行一个xyz,但plot却需要xyz三个列表
一般我都定义三个列表,然后分别储存,今天突然想到其实可以直接转置
用numpy又感觉大材小用了,所以尝试用二维列表实现
import matplotlib.pyplot as plt
with open(r"./1.txt","r") as f:
datas = f.readlines()
# xyz_list: [[x1,y1,z1],[x2,y2,z2,],...]
xyz_list = []
for d in datas:
xyz_list.append(list(map(float,d.strip().split(" "))))
# xyz [[x1,x2,...],[y1,y2,...],[z1,z2,...]]
xyz = list(map(list,zip(*xyz_list)))
ax = plt.axes(projection='3d') # 设置三维轴
ax.scatter3D(*xyz) # 三个数组对应三个维度(三个数组中的数一一对应)
plt.show()